package com.hebeu.group.util;

import com.alibaba.fastjson.JSONException;
import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;

import java.io.IOException;

/**
 * 腾讯云验证码服务
 *
 * @author 言立慧
 * @date 2018/8/29 16:32
 */

public class QcloudSms {

    /**
     * 短信应用SDK AppKey
     */
    private static String APPKEY = "6db5e6f005a8a4106b449e633f0b6914";

    /**
     * 短信应用SDK AppID  // 1400开头
     */
    private static int APP_ID = 1400134699;

    /**
     * 短信模板ID，需要在短信应用中申请
     */
    private static int TEMPLATE_ID = 183696;
    /**
     * 签名
     */
    private static String SMSSIGN = "最高权限比特流";


    /**
     * 发送短信验证码
     *
     * @param phone 手机号码
     * @param code  生成的验证码
     * @return
     */
    public static boolean sendCode(String phone, String code) {
        try {
            //数组具体的元素个数和模板中变量个数必须一致，例如事例中templateId:5678对应一个变量，参数数组中元素个数也必须是一个
            String[] params = {code};
            SmsSingleSender ssender = new SmsSingleSender(APP_ID, APPKEY);
            // 签名参数未提供或者为空时，会使用默认签名发送短信
            SmsSingleSenderResult result = ssender.sendWithParam("86", phone,
                    TEMPLATE_ID, params, SMSSIGN, "", "");
            System.out.println(result);
        } catch (HTTPException | JSONException | IOException e) {
            // HTTP响应码错误
            e.printStackTrace();
            return false;
        }
        return true;
    }


}
